A “virtual machine” is a virtualized copy of a computer system, with virtual hardware (including disk controller, network card, etc.). Frequently, running within the virtual machine is a full operating system. These virtual machines run on a physical host server known as a hypervisor. The hypervisor abstracts the physical hardware of the host server so that the virtual machine sees virtual hardware regardless of what the underlying hardware includes. The storage volumes that appear within the virtual machine are virtualized storage volumes provided by the hypervisor. The storage volumes visible from within the virtual machine can come from multiple sources.
Operating systems on the virtual machines frequently need to be updated or upgraded. This could be due to a software bug (an error in the software), a security vulnerability (that can be exploited by a hacker or malicious software), or a performance enhancement. In such a scenario, the administrator faces a challenge. The administrator would like to update or upgrade the operating system to get the benefits of the latest version, but would also prefer a short downtime for the mission critical application. Stopping the application means that customers will be denied service during the downtime while the operating system is being upgraded. Due to limitations of existing solutions, administrators are often forced to make operating system upgrades or updates during nights or weekends to minimize customer impact.